1. Field of the Invention
Embodiments of the present invention relate, in general, to logical mapping in a computer storage library and particularly to dynamic logical mapping of physical elements in a computer storage library.
2. Relevant Background
Logical mapping of data in a computer storage library refers to the process of abstracting logical storage from physical storage. Most Small Computer System Interface (“SCSI”) medium changer devices use logical mapping. The logical addresses are the SCSI element addresses. For purposes of the present invention, the terms element address and logical address will be used interchangeably. Furthermore the term library, storage library, tape library and medium changers will also, for the purposes of this invention, be used interchangeably.
Logical mapping of storage helps achieve location independence by abstracting the physical location of the data. Such a system presents to the user a logical space for data storage and itself handles the process of mapping it to the actual physical location.
The actual form of the mapping will depend on the chosen implementation. Some implementations may limit the granularity of the mapping which itself may limit the capabilities of the device. Typical granularities range from a single physical disk down to some small subset (multiples of Mega/Gigabytes) of the physical disk.
Like host-based mapping, several categories of library-based logical mapping exist. While Redundant Array of Inexpensive (or Independent) Drives (“RAID”) controllers do provide a logical to physical abstraction, they generally do not provide the benefits of data migration, replication across heterogeneous storage. The exception being a new breed of RAID controllers which do allow the downstream attachment of other storage devices.
Typically, the SCSI categorizes all available slots in a storage library. The four categories are storage, medium transport (a.k.a. robot, hand, or picker), import/export (a.k.a. Cartridge Access Port slot or CAP slot), and data transfer (a.k.a. tape drives). A unique number element address is assigned to each CAP slot.
Physical addresses are unique identifiers for a slot in the library. Many times, the format is chosen to make the physical location of a slot easily identifiable by an operator. In some medium changers, the address mapping is provided by a map, sometimes referred to as a Cell Database (“CellDb”). There is a one to one mapping between physical addresses and logical addresses. Furthermore, a host program is exposed exclusively to logical addressing. A host is a device that sends commands to the SCSI media changer and uses the logical view to access slots in the library. SCSI commands exist so a program can present a physical view of a tape library for a Graphical User Interface (“GUI”) application.
Static mapping is the mapping between physical and logical addresses and is initialized during library initialization. Such a logical mapping does not change until a reboot occurs. Another concept well known to those skilled in the relevant art is partitioning. Partitioning presents a single physical tape library to host one or more programs as several smaller libraries. Therefore to a host program, through the use of partitioning, a single library can appear to be several libraries. Resources, such as the CAP, can then be managed using an internal reservation mechanism for sharing among multiple partitions or assigning specific CAP slots to specific partitions.
An operator's (or a host program's) access to a library is limited to the physical slot capacity of the CAP. This limitation leads to an operator or program physically accessing the library to remove a large amount of cartridges. When the library is once again secured (the door is closed), then the entire tape library is audited. This process expends a great deal of time and resources. Cartridges or disks that are frequently accessed, may also be physically distant from the drive. While a host may be aware of the problem and be able to relocate the media, a new mapping is required. Additionally, when physical space is added to a library, the host must reconfigure its view of the library. As a result of these and other scenarios, the library and the host must reboot and statically establish a logical mapping.